#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void sort1(char **pp,int n)
{
    //补充完成程序
    char tmp[55];
    for(int i=0; i<n; i++)
    {
        int k = i;
        strcpy(tmp, pp[i]);
        for(int j=i+1; j<n; j++)
            if(strcmp(tmp, pp[j]) > 0)
            {
                strcpy(tmp, pp[j]);
                k = j;
            }
        strcpy(pp[k], pp[i]);
        strcpy(pp[i], tmp);
    }
}
void output1(char *p[],int n)
{
 for(int i=0; i<n; i++)
        printf("%s\n", p[i]);  
}
int main()
{
    void sort1(char **pp,int n);
    void output1(char *p[],int n);
    char str[50],*cp[20];
    int n,l,i;
    while(scanf("%d\n",&n)!=EOF)
    {
          for(i=0;i<n;i++)
          {
              gets(str);
             //start
              //在此写动态开辟并存储程序
              //for(int j=0; j<=51; j++)
                cp[i] = (char*)malloc(51*sizeof(char));
                strcpy(cp[i], str);
             //end
           }
           sort1(cp,n);
           output1(cp,n);
    }
    return 0;
}